home *** CD-ROM | disk | FTP | other *** search
/ Super CD / Super CD.iso / geomitri / rcd / beams.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1989-06-10  |  27.3 KB  |  709 lines

  1. 2       ' This programme is used to design  SINGLE SPAN BEAMS
  2. 3       ' This programme uses Advanced Basic Language  ( IBM - BASICA )
  3. 4       ' This programme is saved under the name    [ BEAMS ]
  4. 5       ' Prepared by   AMJAD J. SHAIR           01/01/86 - 09/01/86
  5. 6  SCREEN 0,1 :WIDTH 40 :COLOR 15,1,0 :CLS :LOCATE 5
  6. 7  PRINT "       SINGLE SPAN BEAM DESIGN                                                           Prepared by :                                                                  AMJAD JAMIL EL-SHA'IR"
  7. 8  LOCATE 25,5 :PRINT "PRESS SPACE BAR TO CONTINUE ";
  8. 9  Y$=INKEY$ :IF Y$<>" " THEN 9
  9. 10  '-----------------------------------------------------------------Basic Data
  10. 20  SCREEN 0,1 :WIDTH 80 :COLOR 15,1,0
  11. 30  CLEAR
  12. 40  OPEN "DATA1" FOR INPUT AS #1
  13. 50  IF EOF(1) THEN CLOSE :GOTO 80
  14. 60  INPUT #1,PRJ$,BLD$,DSR$,FC,FY,FYS,QA
  15. 70  GOTO 50
  16. 80  PSX(MAX.)=0.75*(4400/(FY+6090))*FC/FY         '  Max. Ratio of Reinf'
  17. 90  PS(MIN.)=14/FY                            '  Min. Ratio of Reinf'
  18. 100  '--------------------------- Beam  Span ,Loading & Calculation of Reactions
  19. 110  CLS :LOCATE 2,12
  20. 120  PRINT "******    SINGLE SPAN BEAM DESIGN     ******"
  21. 130  PRINT
  22. 140  INPUT "     ENTER BEAM NUMBER    B",NMB
  23. 150  PRINT
  24. 160  INPUT "     ENTER  SPAN LENGTH                                L    (m)  ",L
  25. 165  IF L>0 GOTO 190
  26. 170  PRINT :LOCATE ,6 :COLOR ,4 :BEEP
  27. 175  INPUT "  ****     INVALID ZERO SPAN LENGTH      RE-ENTER      L   ****  ",L
  28. 180  COLOR ,1:PRINT
  29. 185  IF L<=0 GOTO 7800
  30. 190  INPUT "     ENTER ULT. UNIFORMLY DISTRIBUTED LOAD INTENSITY   W  (t/m)  ",W
  31. 195  IF W>0 GOTO 220
  32. 200  PRINT :LOCATE ,6 :COLOR ,4 :BEEP
  33. 205  INPUT "  ****     INVALID  ZERO DISTRIB. LOAD   RE-ENTER      W   ****  ",W
  34. 210  COLOR ,1 :PRINT
  35. 215  IF W<=0 GOTO 7800
  36. 220  RL=W*L/2
  37. 225  RR=W*L/2
  38. 230  PRINT "     ---------------------------------------------------" :PRINT
  39. 231  PRINT "     ***   OTHER LOAD TYPES                 (Y/N) ?  ***";
  40. 232  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 232
  41. 234  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 240
  42. 236  IF Y$="N" OR Y$="n" THEN PRINT "  NO " :GOTO 1510
  43. 240  CLS:LOCATE 2,12 : COLOR 15,5
  44. 250  PRINT " ****   SINGLE SPAN BEAM DESIGN  *  BEAM : B"NMB "   ****" TAB(68)""
  45. 260  PRINT
  46. 270  LOCATE ,12 :PRINT "    Concrete Crushing Strength  f'c = "FC" kg/cm2  " TAB(68)""
  47. 280  LOCATE ,12 :PRINT "    Reinf' Steel Yield Stress   fy  ="FY" kg/cm2  " TAB(68)""
  48. 290  LOCATE ,12 :PRINT "    Beam Span Length            L   ="L " m       " TAB(68)""
  49. 300  COLOR 15,1 :PRINT
  50. 310  PRINT "                *******   LOAD TYPES MENU   ******* "
  51. 320  PRINT
  52. 350  PRINT "                [ C ] - CONCENTRATED LOADS          "
  53. 360  PRINT
  54. 370  PRINT "                [ B ] - BLOCK LOADS                 "
  55. 380  PRINT
  56. 390  PRINT "                [ T ] - TRIANGULER LOADS            "
  57. 400  PRINT
  58. 410  PRINT "                [ E ] - END WORKING ON THIS BEAM    "
  59. 420  PRINT
  60. 430  PRINT "                ENTER THE REQUIRED LOAD TYPE INITIALS : ";
  61. 440  LT$=INKEY$ :IF LT$<>"C" AND LT$<>"c" AND LT$<>"U" AND LT$<>"u" AND LT$<>"B" AND LT$<>"b" AND LT$<>"T" AND LT$<>"t" AND LT$<>"E" AND LT$<>"e" THEN 440
  62. 450  CLS:LOCATE 2,3 : COLOR 15,5
  63. 460  PRINT "         ****     SINGLE SPAN BEAM DESIGN  *  BEAM : B"NMB "    ****           "
  64. 470  LOCATE ,3 :PRINT "CONCRETE f'c ="FC" kg/cm2  *  REINF' fy ="FY" kg/cm2  *  SPAN L ="L" m" TAB(79)""
  65. 480  COLOR 15,1 :PRINT
  66. 490  IF LT$="C" OR LT$="c" GOTO 500
  67. 494  IF LT$="B" OR LT$="b" GOTO 900
  68. 496  IF LT$="T" OR LT$="t" GOTO 1150
  69. 498  IF LT$="E" OR LT$="e" GOTO 6000
  70. 500  PRINT "     ***    COCENTRATED LOADS    ***"
  71. 505  PRINT "     -------------------------------"
  72. 510  PRINT :LOCATE ,6 :COLOR 0,7
  73. 520  PRINT " For more than one Concentrated Load , Enter successivly from left to "TAB(76)""
  74. 525  LOCATE ,6 :PRINT "                          right according to Load position distance " TAB(76)""
  75. 530  COLOR 15,1
  76. 535  J=JB
  77. 540  PRINT
  78. 550  INPUT "     ENTER CONCENTRATED LOAD VALUE            F   (ton)   ",F(J+1)
  79. 560  IF F(J+1)>0 GOTO 600
  80. 570  PRINT :LOCATE ,3 :COLOR ,4 :BEEP
  81. 580  PRINT "  !! This load will be neglected !!  "
  82. 590  COLOR ,1 :GOTO 700
  83. 600  INPUT "     ENTER POSITION OF LOAD FROM LEFT END     X  (meter)  ",X(J+1)
  84. 610  IF X(J+1)<=L GOTO 650
  85. 620  PRINT :LOCATE ,3 :COLOR ,4 :BEEP
  86. 630  PRINT "  !! Error !!  Load position out of span  RE-ENTER   "
  87. 640  COLOR ,1 :PRINT :GOTO 600
  88. 650  J=J+1
  89. 660  RL1(J)=F(J)*(L-X(J))/L
  90. 670  RR1(J)=F(J)*X(J)/L
  91. 680  RL=RL+RL1(J)
  92. 690  RR=RR+RR1(J)
  93. 700  PRINT
  94. 710  PRINT "     ***   MORE CONCENTRATED LOADS          (Y/N) ?  ***";
  95. 720  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 720
  96. 722  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 540
  97. 724  IF Y$="N" OR Y$="n" THEN PRINT "  NO " :JB=J :GOTO 230
  98. 900  PRINT "     ***    BLOCK LOADS    ***"
  99. 905  PRINT "     -------------------------"
  100. 908  PRINT :LOCATE ,6 :COLOR 0,7
  101. 910  PRINT " For more than one Block Load , Enter successivly from left to right"TAB(76)""
  102. 911  LOCATE ,6 :PRINT "                                according to Load starting position " TAB(76)""
  103. 912  COLOR 15,1
  104. 914  Z=ZB
  105. 915  PRINT
  106. 920  INPUT "     ENTER LOAD INTENSITY                     W      (t/m) ",W3(Z+1)
  107. 930  IF W3(Z+1)>0 GOTO 970
  108. 940  PRINT :LOCATE ,3 :COLOR ,4 :BEEP
  109. 950  PRINT "  !! This entry will be neglected  !!  "
  110. 960  COLOR ,1 :GOTO 1120
  111. 970  INPUT "     ENTER START POSITION OF LOAD BLOCK FROM LEFT END  (m) ",A3(Z+1)
  112. 980  IF A3(Z+1)<=L GOTO 1020
  113. 990  PRINT :LOCATE ,3 :COLOR ,4 :BEEP
  114. 1000  PRINT "  !! Error !!  Load start position out of span  RE-ENTER  "
  115. 1010  COLOR ,1 :PRINT :GOTO 970
  116. 1020  INPUT "     ENTER LENGTH OF LOAD BLOCK                        (m) ",B3(Z+1)
  117. 1030  IF B3(Z+1)<=(L-A3(Z+1)) GOTO 1070
  118. 1040  PRINT :LOCATE ,3 :COLOR ,4 :BEEP
  119. 1050  PRINT "  !! Error !!  Load block out of span  RE-ENTER           "
  120. 1060  COLOR ,1 :PRINT :GOTO 1020
  121. 1070  Z=Z+1
  122. 1080  RL3(Z)=W3(Z)*B3(Z)*(L-A3(Z)-B3(Z)/2)/L
  123. 1090  RR3(Z)=W3(Z)*B3(Z)*(A3(Z)+B3(Z)/2)/L
  124. 1100  RL=RL+RL3(Z)
  125. 1110  RR=RR+RR3(Z)
  126. 1120  PRINT
  127. 1130  PRINT "     ***   MORE BLOCK LOADS                  (Y/N) ? ***";
  128. 1140  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 1140
  129. 1142  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 915
  130. 1144  IF Y$="N" OR Y$="n" THEN PRINT "  NO " :ZB=Z :GOTO 230
  131. 1150  PRINT "     ***    TRIANGULAR DISTRIBUTED LOADS    ***"
  132. 1155  PRINT "     ------------------------------------------"
  133. 1160  PRINT :LOCATE ,6 :COLOR 0,7
  134. 1165  PRINT " For more than one Triangular Load , Enter successivly from left to "TAB(75)""
  135. 1170  LOCATE ,6 :PRINT "                          right according to start posit. distance " TAB(75)""
  136. 1175  COLOR 15,1
  137. 1176  Q=QB
  138. 1178  PRINT
  139. 1180  INPUT "     ENTER MAXIMUM LOAD INTENSITY                       W    (t/m)",W5(Q+1)
  140. 1185  IF W5(Q+1)>0 GOTO 1205
  141. 1190  PRINT :LOCATE ,10 :COLOR ,4 :BEEP
  142. 1195  PRINT "  !! This load will be neglected  !!  "
  143. 1200  COLOR ,1 :GOTO 1320
  144. 1205  INPUT "     ENTER START POSITION OF TRIANGULER LOAD FROM LEFT END (meter)",A5(Q+1)
  145. 1210  IF A5(Q+1)<=L GOTO 1230
  146. 1215  PRINT :LOCATE ,6 :COLOR ,4 :BEEP
  147. 1220  PRINT "   !! Error !!  Load start position out of span   RE-ENTER  " TAB(70)""
  148. 1225  COLOR ,1 :LOCATE ,1 :PRINT :GOTO 1205
  149. 1230  INPUT "     ENTER LENGTH OF TRIANGULER LOAD                       (meter)",B5(Q+1)
  150. 1235  IF B5(Q+1)<=L-A5(Q+1) GOTO 1255
  151. 1240  PRINT :LOCATE ,6 :COLOR ,4 :BEEP
  152. 1245  PRINT "   !! Error !!  Load block out of span            RE-ENTER  " TAB(70)""
  153. 1250  COLOR ,1 :LOCATE ,1 :PRINT :GOTO 1230
  154. 1255  INPUT "     ENTER MAX. LOAD INTENSITY POSITION FROM LEFT END      (meter)",C5(Q+1)
  155. 1260  IF C5(Q+1)>=A5(Q+1) AND C5(Q+1)<=(A5(Q+1)+B5(Q+1)) GOTO 1280
  156. 1265  PRINT :LOCATE ,3 :COLOR ,4 :BEEP
  157. 1270  PRINT " !! Error !! Maximum load intensity position out of load triangle  RE-ENTER"
  158. 1275  COLOR ,1 :LOCATE ,1 :PRINT :GOTO 1255
  159. 1280  Q=Q+1
  160. 1285  RL4(Q)=(W5(Q)*(A5(Q)+B5(Q)-C5(Q))*0.5*(L-C5(Q)-(A5(Q)+B5(Q)-C5(Q))/3))/L+(W5(Q)*(C5(Q)-A5(Q))*0.5*(L-C5(Q)+(C5(Q)-A5(Q))/3))/L
  161. 1290  RR4(Q)=(W5(Q)*(A5(Q)+B5(Q)-C5(Q))*0.5*(C5(Q)+(A5(Q)+B5(Q)-C5(Q))/3))/L+(W5(Q)*(C5(Q)-A5(Q))*0.5*(C5(Q)-(C5(Q)-A5(Q))/3))/L
  162. 1300  RL=RL+RL4(Q)
  163. 1310  RR=RR+RR4(Q)
  164. 1320  PRINT
  165. 1330  PRINT "     ***   MORE TRIANGULAR DISTRIBUTED LOADS (Y/N) ? ***";
  166. 1340  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 1340
  167. 1342  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 1178
  168. 1344  IF Y$="N" OR Y$="n" THEN PRINT "  NO " :QB=Q :GOTO 230
  169. 1500  '-------------------------------------------------Display & Check loading
  170. 1510  CLS :LOCATE 2,7 :COLOR 15,5
  171. 1520  PRINT "   ****  SINGLE SPAN BEAM  : B"NMB "   ****   "
  172. 1525  COLOR 15,1 :PRINT
  173. 1530  PRINT "      ***  CHECKING BEAM SPAN LENGTH & LOADING  ***"
  174. 1532  PRINT "      ---------------------------------------------" :PRINT
  175. 1535  PRINT "     BEAM SPAN LENGTH             L = "L" meter"
  176. 1540  PRINT "     UNIFORMLY DISTRIBUTED LOAD   W = "W" ton/meter"
  177. 1545  PRINT
  178. 1550  IF JB<=0 GOTO 1710
  179. 1560  PRINT
  180. 1570  PRINT "      *  CONCENTRATED LOADS  * "
  181. 1580  PRINT "      ------------------------ "
  182. 1590  FOR J= 1 TO JB
  183. 1600  PRINT "    "J" - LOAD  F ="F(J)" ton  , At Distance ="X(J)" m (from left support)"
  184. 1610  NEXT
  185. 1620  J=J-1
  186. 1710  IF ZB<=0 GOTO 1790
  187. 1720  PRINT
  188. 1730  PRINT "      *  BLOCK LOADS  * "
  189. 1740  PRINT "      ----------------- "
  190. 1750  FOR Z= 1 TO ZB
  191. 1760  PRINT "    "Z" - W ="W3(Z)" t/m , Starting at "A3(Z)" m (from left supp.) , For"B3(Z)" m Length"
  192. 1770  NEXT
  193. 1780  Z=Z-1
  194. 1790  IF QB<=0 GOTO 1870
  195. 1800  PRINT
  196. 1810  PRINT "      *  TRIANGULER LOADS  *"
  197. 1820  PRINT "      ----------------------"
  198. 1830  FOR Q= 1 TO QB
  199. 1840  PRINT "    "Q" - W ="W5(Q)" t/m , Starting at "A5(Q)" m (from left supp.) , For"B5(Q)" m Length"
  200. 1845  PRINT "          With max. Load Intensity at "C5(Q)"m  from left support "
  201. 1850  NEXT
  202. 1860  Q=Q-1
  203. 1870  PRINT
  204. 1880  PRINT "          *     CHECK  BEAM  LOADING  IF  YOU  MISSED  ANY     *"
  205. 1890  PRINT "          *  DO  YOU  WHANT  TO  ADD  MORE  LOADS     (Y/N) ?  *";
  206. 1900  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 1900
  207. 1910  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 240
  208. 1920  IF Y$="N" OR Y$="n" THEN PRINT "  NO " :GOTO 2000
  209. 2000  '----------------------------------------------Positive Moment Calculation
  210. 2010  CLS:LOCATE 2,11 : COLOR 15,5
  211. 2020  PRINT "   ****   SINGLE SPAN BEAM DESIGN  *  BEAM : B"NMB "   ****" TAB(70)""
  212. 2030  PRINT
  213. 2040  LOCATE ,11 :PRINT "      Concrete Crushing Strength  f'c = "FC" kg/cm2  " TAB(70)""
  214. 2050  LOCATE ,11 :PRINT "      Reinf' Steel Yield Stress   fy  ="FY" kg/cm2  " TAB(70)""
  215. 2060  LOCATE ,11 :PRINT "      Beam Span Length            L   ="L " m       " TAB(70)""
  216. 2070  COLOR 15,1 :PRINT
  217. 2080  RL=(CINT(RL*100))/100 :RR=(CINT(RR*100))/100
  218. 2090  PRINT "            Reaction at LEFT  Support  R (left)  ="RL" ton"
  219. 2100  PRINT "            Reaction at RIGHT Support  R (right) ="RR" ton"
  220. 2110  GOSUB 8400
  221. 2420  X=(CINT(XL*100))/100
  222. 2430  MU1=(CINT(MP*100))/100
  223. 2440  PRINT
  224. 2450  PRINT "    Location of Max. Positive Moment (from left support) X  ="X" m"
  225. 2460  PRINT "    Maximum Positive Moment                             Mu+ ="MU1" t.m"
  226. 3000  '-----------------------------------------Design of Conc. Section & Reinf'
  227. 3010  PRINT :LOCATE ,3 :COLOR 0,7
  228. 3020  INPUT "    ENTER THE TOTAL  height  OF BEAM SECTION   h  (cm) = ",H
  229. 3030  COLOR 15,1
  230. 3040  IF H >0 GOTO 3090
  231. 3050  PRINT :LOCATE ,3 :COLOR ,4 :BEEP
  232. 3060  INPUT "Zero HEIGHT can't be used , Do you want to RE-ENTER ?  (Y/N)",Y$
  233. 3070  COLOR ,1 :PRINT
  234. 3080  IF Y$="Y" GOTO 3020 ELSE GOTO 6010
  235. 3090  IF H>30 THEN D=H-5 ELSE D=H-4
  236. 3095  MU=MU1
  237. 3100  PS=PSX(MAX.)      'For Min. Concrete Section , Max. Reinf'
  238. 3110  GOSUB 6500
  239. 3120  B1=B :PS1=PS :AS1=AS :NB1=NB :DIA1=DIA :ASP1=ASP
  240. 3130  PS=0.27*FC/FY      'For Moderate Concrete Section And Reinf'
  241. 3140  GOSUB 6500
  242. 3150  B2=B :PS2=PS :AS2=AS :NB2=NB :DIA2=DIA :ASP2=ASP
  243. 3160  PS=PS(MIN.)       'For Max. Concrete Section , Min. Reinf'
  244. 3170  GOSUB 6500
  245. 3180  B3=B :PS3=PS :AS3=AS :NB3=NB :DIA3=DIA :ASP3=ASP
  246. 3190  PRINT
  247. 3200  PRINT " 1- Use max.Reinf' b ="B1" cm  *  As="AS1" cm2  *  REINF':"NB1;CHR$(237);DIA1 " mm"
  248. 3210  PRINT
  249. 3220  PRINT " 2- Use med.Reinf' b ="B2" cm  *  As="AS2" cm2  *  REINF':"NB2;CHR$(237);DIA2 " mm"
  250. 3230  PRINT
  251. 3240  PRINT " 3- Use min.Reinf' b ="B3" cm  *  As="AS3" cm2  *  REINF':"NB3;CHR$(237);DIA3 " mm"
  252. 3250  PRINT :LOCATE ,3 :COLOR 0,7
  253. 3255  INPUT "  ENTER ANY  width  FOR THE BEAM  WITHIN THE ABOVE LIMITS ,   b  (cm) = ",B
  254. 3260  COLOR 15,1
  255. 3270  IF B<=0 GOTO 3250
  256. 3280  IF B<B1 THEN BEEP :PRINT :PRINT "    !!!!  WIDTH IS VERY SMALL ,COMPRESSION REINFORCEMENT WILL BE NEEDED "
  257. 3290  GOSUB 7300
  258. 3300  GOSUB 6300
  259. 3310  MU1=(CINT(MU1*100))/100 :AS1=(CINT(AS*100))/100
  260. 3315  CASE=0 :PRINT
  261. 3320  IF AS1<AS(MIN.) GOTO 3330
  262. 3325  PRINT "   Mu+ (max.) ="MU1" t.m  ,  As (required) ="AS1" cm2 > As(min.)="AS(MIN.)" cm2"
  263. 3327  GOTO 3345
  264. 3330  PRINT "   Mu+ (max.) ="MU1" t.m  ,  As (required) ="AS1" cm2 < As(min.)="AS(MIN.)" cm2"
  265. 3335  IF AS1<0.75*AS(MIN.) THEN GOSUB 9000 :GOTO 3350
  266. 3340  AS=AS(MIN.)
  267. 3345  GOSUB 6700
  268. 3350  NB1=NB :DIA1=DIA :ASP1=ASP
  269. 3360  LOCATE ,2: COLOR 0,4
  270. 3370  PRINT "  USE  [ "NB1;CHR$(237);DIA1 " mm ]   Bottom reinf' ,   As (provided) ="ASP1" cm2  "
  271. 3380  COLOR 15,1:PRINT "                                                                                "
  272. 3390  MU2=0.86*MU1/3
  273. 3400  MU=MU2
  274. 3410  GOSUB 6300
  275. 3420  MU2=(CINT(MU2*100))/100 :AS2=(CINT(AS*100))/100
  276. 3425  PRINT
  277. 3430  IF AS2<AS(MIN.) GOTO 3445
  278. 3435  PRINT "   Mu- (min.) ="MU2" t.m  ,  As (required) ="AS2" cm2 > As(min.)="AS(MIN.)" cm2"
  279. 3440  GOTO 3470
  280. 3445  PRINT "   Mu- (min.) ="MU2" t.m  ,  As (required) ="AS2" cm2 < As(min.)="AS(MIN.)" cm2"
  281. 3450  IF CASE<>2 THEN AS=AS(MIN.) :GOTO 3470
  282. 3455  PRINT
  283. 3458  AS=CINT(AS2*1.33*100)/100
  284. 3460  PRINT "   Using  As = 1.33 x As(req.) = "AS" cm2"
  285. 3470  GOSUB 6700
  286. 3480  NB2=NB :DIA2=DIA :ASP2=ASP
  287. 3490  LOCATE ,2: COLOR 0,4
  288. 3500  PRINT "  USE  [ "NB2;CHR$(237);DIA2 " mm ]      Top reinf' ,   As (provided) ="ASP2" cm2  "
  289. 3510  COLOR 15,1:PRINT "                                                                                "
  290. 3515  PRINT "   If you are not satisfied with the choice of TOP REINF'."
  291. 3520  PRINT "   You can chose any NUMBER and DIAMETER of bars you prefer"
  292. 3530  PRINT "   Do you want to change the choice for TOP REINF'.  (Y/N) ? ";
  293. 3540  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 3540
  294. 3550  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOSUB 7000
  295. 3560  IF Y$="N" OR Y$="n" THEN PRINT "  NO "
  296. 3570  PRINT :PRINT "       BEAM REINFORCEMENT   :  "
  297. 3575  PRINT :LOCATE ,2: COLOR 0,4
  298. 3580  PRINT "  USE  [ "NB2;CHR$(237);DIA2 " mm ]      Top reinf' ,   As (provided) ="ASP2" cm2  "
  299. 3585  COLOR 15,1:PRINT "                                                                                "
  300. 3588  LOCATE ,2: COLOR 0,4
  301. 3590  PRINT "  USE  [ "NB1;CHR$(237);DIA1 " mm ]   Bottom reinf' ,   As (provided) ="ASP1" cm2  "
  302. 3595  COLOR 15,1:PRINT "                                                                                "
  303. 3600  PRINT "   The reinforcement shown is for conc. sect.   b ="B" cm  *  h ="H" cm"
  304. 3610  PRINT "   Do you want to change the   SECTION   or   REINFORCEMENT    (Y/N) ? ";
  305. 3620  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 3620
  306. 3630  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 3010
  307. 3640  IF Y$="N" OR Y$="n" THEN PRINT "  NO " :GOTO 3700
  308. 3700  '-----------------------------------------------Shear Force & Stress Calc.
  309. 3710  CLS:LOCATE 2,3 : COLOR 15,5
  310. 3720  PRINT "         ****     SINGLE SPAN BEAM DESIGN  *  BEAM : B"NMB "    ****           "
  311. 3730  PRINT
  312. 3740  LOCATE ,3 :PRINT "CONCRETE f'c ="FC" kg/cm2  *  REINF' fy ="FY" kg/cm2  *  SPAN L ="L" m" TAB(79)""
  313. 3750  LOCATE ,3 :PRINT "Width  b  ="B" cm   *   Height  h  ="H" cm   *   Eff. Depth  d  ="D" cm " TAB(79)""
  314. 3760  COLOR 15,1 :PRINT
  315. 3770  VSC=(CINT(0.53*SQR(FC)*100))/100  'Max. Shear Stress to be taken by conc.
  316. 3780  VSM=(CINT(2.5*SQR(FC)*100))/100  'Max. Shear Stress taken by conc.& reinf'
  317. 3790  PRINT "   ****  SHEAR DESIGN  ****"
  318. 3800  PRINT
  319. 3810  INPUT "   ENTER WIDTH OF LEFT SUPPORT   (cm)  ",BSL
  320. 3820  INPUT "   ENTER WIDTH OF RIGHT SUPPORT  (cm)  ",BSR
  321. 3830  XVL=(BSL/2+D)/100     'Distance  d from face of left support
  322. 3840  XL=XVL
  323. 3850  GOSUB 7900
  324. 3860  VL=(CINT(ABS(V)*100))/100
  325. 3900  XVR=(BSR/2+D)/100     'Distance  d from face of right support
  326. 3910  XL=L-XVR
  327. 3920  GOSUB 7900
  328. 3930  VR=(CINT(ABS(V)*100))/100
  329. 3940  IF VL>VR THEN VF=VL ELSE VF=VR     'Shear Force  at  d  from face of supp.
  330. 3950  VST=VF*1000/(0.85*B*D)         'Shear Stress at  d  from face of supp.
  331. 3960  VST=(CINT(VST*100))/100
  332. 3970  IF VST<=VSM GOTO 4600
  333. 3980  PRINT :LOCATE ,3 :COLOR ,4 :BEEP
  334. 3990  PRINT "  Shear Stress is too high , CHANGE the beam section dimensions"
  335. 3995  COLOR ,1 :PRINT :GOTO 2000
  336. 4600  '----------------------------------------------------Shear Stirrups Reinf'
  337. 4610  PRINT
  338. 4620  PRINT "   Max. Shear Force  Vu  at   d  from face of supp.  ="VF" ton"
  339. 4630  PRINT "   Max. Shear Stress vu  = Vu / ( 0.85 * b * d )     ="VST" kg/cm2"
  340. 4640  PRINT "   Max. Shear Stress taken by conc. vc =.53 *SQR(f'c)="VSC" kg/cm2"
  341. 4650  PRINT :LOCATE ,3 :COLOR 0,7
  342. 4660  INPUT "   ENTER  Max. Spacing of Stirrups to be used  (cm) ",SMAX
  343. 4670  COLOR 15,1 :PRINT
  344. 4675  IF SMAX <=0 THEN SMAX =20
  345. 4680  AV(MIN.)=(CINT((3.5*B*SMAX/FYS)*100))/100
  346. 4690  NVM=1+INT(0.95*AV(MIN.)/(0.505*2))
  347. 4700  AVP(MIN.)=NVM*0.505*2
  348. 4710  PRINT "      min. required area of shear stirrups reinf' ="AV(MIN.)"cm2"
  349. 4720  PRINT "  NEED "NVM" STR. "CHR$(237)" 8 mm "CHR$(64);SMAX" cm SPC.  *  Av (prv.)="AVP(MIN.)" cm2"
  350. 4730  PRINT
  351. 4740  IF VST>=(VSC+3.5) GOTO 4770
  352. 4750  PRINT "    Since   vu < vc+3.5    only min. web reinf' is required"
  353. 4760  NV=NVM :S=SMAX :AV=AV(MIN.) :AVP=AVP(MIN.) :DV=8 :GOTO 4880
  354. 4770  PRINT "   ** CHOICES OF SHEAR STIRRUPS REINF' **"
  355. 4780  FOR NV=1 TO 3                  'No. of closed stirrups
  356. 4790  FOR S =15 TO SMAX STEP 5       'Spacing of stirrups
  357. 4800  GOSUB 7600
  358. 4810  PRINT "  "NV" STR. "CHR$(237);DV" mm "CHR$(64);S" cm SPC.  * Av (Req.)="AV" cm2 *Av (Prv.)="AVP" cm2"
  359. 4820  NEXT S
  360. 4830  NEXT NV
  361. 4840  PRINT
  362. 4850  INPUT "   ENTER the preferable   NUMBER   of stirrups  ",NV
  363. 4855  IF NV=0 THEN NV=1+INT(AV/(0.505*2))
  364. 4860  INPUT "   ENTER the preferable   SPACING  of stirrups  ",S
  365. 4865  IF S=0 THEN S=SMAX
  366. 4870  GOSUB 7600
  367. 4880  PRINT :LOCATE ,4: COLOR 0,4
  368. 4890  PRINT "USE  [ "NV" STR. "CHR$(237);DV" mm "CHR$(64);S" cm  SPACING ]"
  369. 4900  COLOR 15,1 :PRINT
  370. 5000  '-----------------------------------------------------Print Data & Results
  371. 5010  PRINT "       ***   DO YOU WHANT THIS BEAM DESIGN TO BE PRINTED     (Y/N) ?  ***";
  372. 5020  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 5020
  373. 5022  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 5030
  374. 5024  IF Y$="N" OR Y$="n" THEN PRINT "  NO " :GOTO 6010
  375. 5030  H$=STRING$(79,61)
  376. 5035  IF FY<=3000 THEN BRDA$=CHR$(239)+CHR$(8)+CHR$(47) ELSE BRDA$=CHR$(111)+CHR$(8)+CHR$(84)
  377. 5040  IF FYS<=3000 THEN BRDB$=CHR$(239)+CHR$(8)+CHR$(47) ELSE BRDB$=CHR$(111)+CHR$(8)+CHR$(84)
  378. 5042  LPRINT
  379. 5045  LPRINT CHR$(14)"Arabian Consulting Engineering Services"
  380. 5050  LPRINT "P. O. Box  146                                           Riyadh - Saudi Arabia"
  381. 5055  LPRINT H$
  382. 5060  LPRINT CHR$(14)" PROJECT: "PRJ$
  383. 5065  LPRINT
  384. 5070  LPRINT "  BUILDING    : "BLD$ TAB(58)"PAGE No.:"
  385. 5075  LPRINT "  DESIGNED BY : "DSR$ TAB(31)"/ CHECKED BY : "TAB(58)"DATE    : "DATE$
  386. 5080  LPRINT :LPRINT H$
  387. 5085  LPRINT "  RCDESIGN PROGRAM PREPARED BY : Amjad J.El-Sha'ir, P.O.Box 926447 Amman-Jordan"
  388. 5090  LPRINT "  THIS COPY TO BE USED ONLY BY : Arabian Consulting Engineering Services  K.S.A"
  389. 5095  LPRINT H$
  390. 5100  LPRINT CHR$(14) " SINGLE SPAN BEAM DESIGN "TAB(30)"BEAM: B"NMB
  391. 5110  LPRINT H$ :LPRINT
  392. 5120  LPRINT CHR$(27)"G";
  393. 5130  LPRINT "  ** CONCRETE & STEEL PROPERTIES **  "
  394. 5140  LPRINT CHR$(27)"H";"  ---------------------------------  "
  395. 5150  LPRINT "   - Concrete Crushing Strength  f'c ="FC" kg/cm2  "
  396. 5160  LPRINT "   - Reinf' Steel Yield Stress   fy  ="FY" kg/cm2  "
  397. 5170  LPRINT CHR$(27)"G"
  398. 5180  LPRINT "  ** BEAM SECTION DIMENSIONS **  "
  399. 5190  LPRINT CHR$(27)"H";"  -----------------------------  "
  400. 5200  LPRINT "   - Width  b  ="B" cm" TAB(28) "- Height  h  ="H" cm" TAB(54) "- Eff. Depth  d  ="D" cm"
  401. 5210  LPRINT H$
  402. 5220  LPRINT "  Max. Sect. Capacity Ku ="KU(MAX.) TAB(40) " Max. Moment Capacity Mu ="MU(MAX.)" t.m"
  403. 5230  LPRINT "  Min. Steel Ratio    Ps ="PS(MIN.) TAB(40) " Max. Steel Ratio     Ps ="PSX(MAX.)
  404. 5240  LPRINT "  Min. Steel Area     As ="AS(MIN.)" cm2" TAB(40) " Max. Steel Area      As ="ASX(MAX.)" cm2"
  405. 5250  LPRINT H$
  406. 5260  LPRINT CHR$(27)"G"
  407. 5270  LPRINT "  **  BEAM SPAN LENGTH  L  = "L" m  **"
  408. 5280  LPRINT
  409. 5290  LPRINT "  **       BEAM LOADING        **"
  410. 5300  LPRINT CHR$(27)"H"
  411. 5310  LPRINT "      * UNIFORMLY DISTRIBUTED LOADS * "
  412. 5320  LPRINT "          W ="W" ton/meter "
  413. 5330  LPRINT
  414. 5340  IF JB<=0 GOTO 5450
  415. 5350  LPRINT "      * CONCENTRATED LOADS * "
  416. 5360  FOR J= 1 TO JB
  417. 5370  LPRINT "     "J"- LOAD  F ="F(J)" ton  , At Distance ="X(J)" m (from left support)"
  418. 5380  NEXT
  419. 5390  LPRINT
  420. 5400  LPRINT
  421. 5450  IF ZB<=0 GOTO 5520
  422. 5460  LPRINT "      *  UNIFORM BLOCK LOADS  * "
  423. 5470  FOR Z= 1 TO ZB
  424. 5480  LPRINT "     "Z"- W ="W3(Z)" t/m , Starting at "A3(Z)" m (from left supp.) , For"B3(Z)" m Length"
  425. 5490  NEXT
  426. 5510  LPRINT
  427. 5520  IF QB<=0 GOTO 5590
  428. 5530  LPRINT "      *  TRIANGULER LOADS  *"
  429. 5540  FOR Q= 1 TO QB
  430. 5550  LPRINT "     "Q"- W ="W5(Q)" t/m , Starting at "A5(Q)" m (from left supp.) , For"B5(Q)" m Length"
  431. 5560  LPRINT "           With max. Load Intensity at "C5(Q)"m  from left support "
  432. 5570  NEXT
  433. 5580  LPRINT
  434. 5590  LPRINT CHR$(27)"G";
  435. 5600  LPRINT "  ** Reaction at LEFT  Support  R (left)  ="RL" ton **"
  436. 5610  LPRINT "  ** Reaction at RIGHT Support  R (right) ="RR" ton **"
  437. 5620  LPRINT CHR$(27)"H"
  438. 5630  LPRINT "   Max. Positive Moment   Mu+  = "MU1" t.m  <  Mu (max.)"
  439. 5640  LPRINT "   Location  (from left )   X  = "X" meter"
  440. 5650  IF AS1<AS(MIN.)  GOTO 5680
  441. 5660  LPRINT "   Required Area of Steel  As  = "AS1" cm2  >  As (min.)"
  442. 5670  GOTO 5690
  443. 5680  LPRINT "   Required Area of Steel  As  = "AS1" cm2  <  As (min.)"
  444. 5690  LPRINT CHR$(27) "G"
  445. 5700  LPRINT "  USE  [ "NB1;BRDA$;DIA1 " mm ]    Bottom reinf' ,     As (provided) ="ASP1" cm2"
  446. 5710  LPRINT CHR$(27) "H";"  -------------------------------------------------------------------------"
  447. 5720  LPRINT
  448. 5730  LPRINT "   Min. Negative Moment   Mu-  = "MU2" t.m  <  Mu (max.)"
  449. 5740  IF AS2<AS(MIN.)  GOTO 5770
  450. 5750  LPRINT "   Required Area of Steel  As  = "AS2" cm2  >  As (min.)"
  451. 5760  GOTO 5780
  452. 5770  LPRINT "   Required Area of Steel  As  = "AS2" cm2  <  As (min.)"
  453. 5780  LPRINT CHR$(27) "G"
  454. 5790  LPRINT "  USE  [ "NB2;BRDA$;DIA2 " mm ]       Top reinf' ,     As (provided) ="ASP2" cm2"
  455. 5800  LPRINT CHR$(27) "H";H$
  456. 5810  LPRINT CHR$(27)"G";
  457. 5820  LPRINT "   **   SHEAR DESIGN   **"
  458. 5830  LPRINT CHR$(27)"H"
  459. 5840  LPRINT "   Max. Shear Force  Vu  at  (d) from face of supp.  ="VF" ton"
  460. 5850  LPRINT "   Max. Shear Stress vu  = Vu / ( 0.85 * b * d )     ="VST" kg/cm2"
  461. 5860  LPRINT "   Max. Shear Stress taken by conc. vc =.53 *SQR(f'c)="VSC" kg/cm2"
  462. 5870  LPRINT
  463. 5880  LPRINT "   For "S" cm Spacing" TAB(54) "Av (requ.) ="AV" cm2"
  464. 5890  LPRINT CHR$(27)"G"
  465. 5900  LPRINT "  USE  [ "NV" STR. "BRDB$;DV" mm "CHR$(64);S" cm  SPACING ]" TAB(54) "Av (prov.) ="AVP" cm2"
  466. 5910  LPRINT CHR$(27) "H"
  467. 5920  LPRINT CHR$(12)
  468. 6000  '-------------------------------------------------------End of Beam Design
  469. 6010  PRINT "       ***   DO YOU HAVE OTHER SINGLE SPAN BEAMS TO DESIGN   (Y/N) ?  ***";
  470. 6020  Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 6020
  471. 6022  IF Y$="Y" OR Y$="y" THEN PRINT "  YES" :GOTO 10
  472. 6024  IF Y$="N" OR Y$="n" THEN PRINT "  NO " :PRINT :PRINT "           [  YOU WILL BE SEND BACK TO THE  RCDESIGN  MAIN MENU   ]  " :CHAIN "RCDESIGN",2500
  473. 6100  END  '----------------------------------------------------- END OF RUNNING
  474. 6200  '************************   SUBROUTINES   ********************************
  475. 6300  '-------------------------------- SUBROUTINE To Find The Reinforcement for                                                      a known Section Dimensions
  476. 6310  WC=(1-SQR(1-2.36*MU*100000/(B*D^2*0.9*FC)))/1.18
  477. 6320  KU=0.9*FC*WC*(1-0.59*WC)
  478. 6330  ACD=(WC/0.85)*D       'depth of compression Whitny Block
  479. 6340  CCD=AC/0.85           'depth of nutral axis
  480. 6350  JUD=(1-0.59*WC)*D
  481. 6360  PS=WC*FC/FY              'steel ratio
  482. 6370  AS=PS*B*D                'area of steel reinf'
  483. 6380  RETURN
  484. 6500  '------------------------- SUBROUTINE To Find The Width of Beam and Reinf'                                                        for a given steel ratio
  485. 6510  WC=PS*FY/FC
  486. 6520  KU=0.9*FC*WC*(1-0.59*WC)
  487. 6530  AC=WC/0.85
  488. 6540  CC=AC/0.85
  489. 6550  JU=1-0.59*WC
  490. 6560  B=CINT(MU*100000/(KU*D^2))
  491. 6570  AS=PS*B*D
  492. 6580  NB=CINT(B/10)
  493. 6590  IF NB<2 THEN NB=2
  494. 6600  DIA=2+2*INT(SQR(4*100*AS/(3.14159*NB))/2)
  495. 6610  IF DIA<10 THEN DIA=10
  496. 6620  IF DIA<24 GOTO 6650
  497. 6630  DIA=25
  498. 6640  NB=1+INT(AS/4.908)
  499. 6650  ASP=NB*3.14159*(DIA/10)^2/4
  500. 6660  ASP=(CINT(ASP*100))/100
  501. 6670  RETURN
  502. 6700  '-------- SUBROUTINE to choose the suitable Reinf'for Max. Positive Moment
  503. 6705  NB=CINT(B/10)
  504. 6710  IF NB<2 THEN NB=2
  505. 6715  DIAT=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2)
  506. 6717  IF DIAT>24 THEN DIAT=24
  507. 6720  G=0 :PRINT
  508. 6725  FOR DIA= DIAT-4 TO DIAT+4 STEP 2
  509. 6730  IF DIA<10 THEN DIA=10
  510. 6735  IF DIA<24 GOTO 6750
  511. 6740  DIA=25
  512. 6750  NB=1+INT(AS*0.95*400/(3.14159*DIA^2))
  513. 6755  IF NB<2 THEN NB=2
  514. 6760  ASP=NB*3.14159*(DIA/10)^2/4
  515. 6770  G=G+1
  516. 6810  PRINT "   Choice"G" : USE "NB;CHR$(237);DIA"mm ,  As(provided) ="ASP" cm2"
  517. 6815  IF DIA=25 OR NB=2 GOTO 6830
  518. 6820  NEXT
  519. 6830  PRINT :LOCATE ,3 :COLOR 0,7
  520. 6840  INPUT "  CHOOSE THE SUITABLE  [ NUMBER OF BARS ] TO BE USED   ",NB
  521. 6845  COLOR 15,1:PRINT "                                                                                "
  522. 6850  IF NB<2 THEN NB=2
  523. 6860  DIA=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2)
  524. 6890  IF DIA<10 THEN DIA=10
  525. 6900  IF DIA<24 GOTO 6930
  526. 6910  DIA=25
  527. 6920  NB=1+INT(AS*0.95/4.908)
  528. 6930  ASP=NB*3.14159*(DIA/10)^2/4
  529. 6940  ASP=(CINT(ASP*100))/100
  530. 6950  RETURN
  531. 7000  '-------- SUBROUTINE to choose the suitable Reinf'for Min. Negative Moment
  532. 7010  PRINT
  533. 7020  INPUT "    ENTER THE   PREFERABLE   [  NUMBER   OF BARS  ]    ",NB
  534. 7030  INPUT "    ENTER THE   PREFERABLE   [  DIAMETER OF BARS  ]    ",DIA
  535. 7040  IF NB<2 THEN NB=2
  536. 7050  IF DIA<10 THEN DIA=10
  537. 7060  IF DIA>22 THEN DIA=25
  538. 7070  NB2=NB :DIA2=DIA :ASP2=ASP
  539. 7080  RETURN
  540. 7300  '------------------ SUBROUTINE To find Beam Section and Reinf' Limitations
  541. 7310  PSX(MAX.)=0.75*(4400/(FY+6090))*FC/FY        '  Max. Ratio of Reinf'
  542. 7320  WC(MAX.)=PSX(MAX.)*FY/FC
  543. 7330  ASX(MAX.)=PSX(MAX.)*B*D
  544. 7340  KU(MAX.)=0.9*FC*WC(MAX.)*(1-0.59*WC(MAX.))
  545. 7350  ACD(MAX.)=WC(MAX.)*D/0.85               'Depth of comp. Whitny Block
  546. 7360  CCD(MAX.)= ACD(MAX.)/0.85                 'Depth of Nutral Axis
  547. 7370  JUD(MAX.)=(1-0.59*WC(MAX.))*D                'Liver Arm
  548. 7380  MU(MAX.)=KU(MAX.)*B*D^2/100000             'Max. Moment Capacity of Rib
  549. 7390  PS(MIN.)=14.05/FY
  550. 7400  AS(MIN.)=PS(MIN.)*B*D
  551. 7410  PSX(MAX.)=(CINT(PSX(MAX.)*10000))/10000
  552. 7420  WC(MAX.)=(CINT(WC(MAX.)*100))/100
  553. 7430  ASX(MAX.)=(CINT(ASX(MAX.)*100))/100
  554. 7440  KU(MAX.)=(CINT(KU(MAX.)*100))/100
  555. 7450  ACD(MAX.)=(CINT(ACD(MAX.)*100))/100
  556. 7460  CCD(MAX.)=(CINT(CCD(MAX.)*100))/100
  557. 7470  JUD(MAX.)=(CINT(JUD(MAX.)*100))/100
  558. 7480  MU(MAX.)=(CINT(MU(MAX.)*100))/100
  559. 7490  PS(MIN.)=(CINT(PS(MIN.)*10000))/10000
  560. 7500  AS(MIN.)=(CINT(AS(MIN.)*100))/100
  561. 7510  RETURN
  562. 7600  '------------------------------------- SUBROUTINE to find the shear reinf'
  563. 7610  IF VST>=(VSC+3.5) GOTO 7640
  564. 7620  AV=3.4*B*S/FYS
  565. 7630  GOTO 7650
  566. 7640  AV=(VST-VSC)*B*S/FYS
  567. 7650  DV=2+2*INT(SQR(4*100*AV*0.95/(3.14159*NV*2))/2.001)
  568. 7660  IF DV<8 THEN DV=8
  569. 7670  AVP=2*NV*3.14159*DV^2/400
  570. 7680  AV=(CINT(AV*100))/100
  571. 7690  AVP=(CINT(AVP*100))/100
  572. 7700  VF=(CINT(VF*100))/100
  573. 7710  VST=(CINT(VST*100))/100
  574. 7720  VSC=(CINT(VSC*100))/100
  575. 7730  RETURN
  576. 7800  '------------------------------------------------- Display Invalid Entries
  577. 7810  PRINT :LOCATE ,6 :COLOR ,4 : BEEP
  578. 7820  PRINT "  ***  YOU WERE GIVEN TWO CHANCES TO ENTER , BUT YOU FAILED  ***  "TAB(72)"" :COLOR ,1
  579. 7830  PRINT :LOCATE ,6 :COLOR ,4
  580. 7840  PRINT "  ***  ENTER  Y  TO REDO THIS BEAM OR TO GO FOR OTHER BEAMS  ***  "TAB(72)"" :COLOR ,1
  581. 7850  PRINT
  582. 7860  GOTO 6000
  583. 7870  RETURN
  584. 7900  '----------------------- SUBROUTINE TO FIND SHEAR FORCE AT A CERTAIN POINT
  585. 7910  V=RL-W*XL
  586. 7915  IF JB<=0 GOTO 7935
  587. 7920  FOR J=1 TO JB
  588. 7925  IF XL>X(J) THEN V=V-F(J)
  589. 7930  NEXT J
  590. 7935  IF ZB<=0 GOTO 7965
  591. 7940  FOR Z=1 TO ZB
  592. 7945  IF XL<=A3(Z) GOTO 7960
  593. 7950  IF XL<(A3(Z)+B3(Z)) THEN D3=XL-A3(Z) ELSE D3=B3(Z)
  594. 7955  V=V-D3*W3(Z)
  595. 7960  NEXT
  596. 7965  IF QB<=0 GOTO 7998
  597. 7970  FOR Q=1 TO QB
  598. 7975  IF XL<=A5(Q) GOTO 7995
  599. 7980  IF C5(Q)=A5(Q) GOTO 7990
  600. 7985  IF XL<C5(Q) THEN V=V-(W5(Q)/(C5(Q)-A5(Q)))*(XL-A5(Q))^2/2 :GOTO 7995
  601. 7988  IF C5(Q)=(A5(Q)+B5(Q)) GOTO 7992
  602. 7990  IF XL<(A5(Q)+B5(Q)) THEN V=V-W5(Q)*B5(Q)/2+(W5(Q)/(A5(Q)+B5(Q)-C5(Q)))*(A5(Q)+B5(Q)-XL)^2/2 :GOTO 7995
  603. 7992  IF XL>= (A5(Q)+B5(Q)) THEN V=V-W5(Q)*B5(Q)/2
  604. 7995  NEXT
  605. 7998  RETURN
  606. 8000  '----------------------- SUBROUTINE TO FIND THE MOMENT  AT A CERTAIN POINT
  607. 8010  MP=RL*XL-W*XL^2/2
  608. 8020  IF JB<=0 GOTO 8060
  609. 8030  FOR J=1 TO JB
  610. 8040  IF XL>X(J) THEN MP=MP-F(J)*(XL-X(J))
  611. 8050  NEXT
  612. 8060  IF ZB<=0 GOTO 8110
  613. 8070  FOR Z=1 TO ZB
  614. 8080  IF XL<=A3(Z) GOTO 8100
  615. 8090  IF XL<=(A3(Z)+B3(Z)) THEN MP=MP-W3(Z)*(XL-A3(Z))^2/2 ELSE MP=MP-W3(Z)*B3(Z)*(XL-A3(Z)-B3(Z)/2)
  616. 8100  NEXT
  617. 8110  IF QB<=0 GOTO 8200
  618. 8120  FOR Q= 1 TO QB
  619. 8130  IF XL<=A5(Q) GOTO 8180
  620. 8140  IF C5(Q)=A5(Q) GOTO 8160
  621. 8150  IF XL<=C5(Q) THEN MP=MP-(W5(Q)/(C5(Q)-A5(Q)))*(XL-A5(Q))^3/6 :GOTO 8180
  622. 8155  IF C5(Q)=(A5(Q)+B5(Q)) GOTO 8170
  623. 8160  IF XL<=(A5(Q)+B5(Q)) THEN WR5=W5(Q)*(A5(Q)+B5(Q)-XL)/(A5(Q)+B5(Q)-C5(Q)) :MP=MP-(W5(Q)*(C5(Q)-A5(Q))/2)*(XL-A5(Q)-(C5(Q)-A5(Q))*2/3)-WR5*(XL-C5(Q))^2/2-(W5(Q)-WR5)*(XL-C5(Q))^2/3 :GOTO 8180
  624. 8170  IF XL>(A5(Q)+B5(Q)) THEN MP=MP-(W5(Q)*(C5(Q)-A5(Q))/2)*(XL-A5(Q)-(C5(Q)-A5(Q))*2/3)-(W5(Q)*(A5(Q)+B5(Q)-C5(Q))/2)*(XL-C5(Q)-(A5(Q)+B5(Q)-C5(Q))/3)
  625. 8180  NEXT
  626. 8200  RETURN
  627. 8400  '----------------------------- SUBROUTINE to calculate the Positive Moment
  628. 8440  IF ZB>0 OR QB>0 GOTO 8510
  629. 8445  'case with uniform & cocentrated load
  630. 8450  XL=RL/W
  631. 8455  MP=RL*XL-W*XL^2/2
  632. 8460  IF JB<=0 GOTO 8558
  633. 8465  J=1
  634. 8470  IF XL<=X(J) GOTO 8490
  635. 8475  XL=XL-F(J)/W
  636. 8480  IF XL<=X(J) THEN XL=X(J) :GOTO 8490
  637. 8485  IF J<JB THEN J=J+1 :GOTO 8470 ELSE J=J+1
  638. 8490  MP=RL*XL-W*XL^2/2
  639. 8495  FOR J=1 TO J-1
  640. 8500  MP=MP-F(J)*(XL-X(J))
  641. 8505  NEXT :GOTO 8558
  642. 8510  'case with  UNIFORM BLOCK LOAD  and/or  TRIANGULAR LOAD
  643. 8515  XL=L/2
  644. 8520  GOSUB 7900
  645. 8525  GOSUB 8000
  646. 8530  IF V=0 GOTO 8558
  647. 8535  IF V<0 GOTO 8550
  648. 8540  M1=MP :XL=XL+0.05 :GOSUB 8000
  649. 8545  IF MP>M1 GOTO 8540 ELSE XL=XL-0.05 :MP=M1 :GOTO 8558
  650. 8550  M1=MP :XL=XL-0.05 :GOSUB 8000
  651. 8552  IF MP>M1 GOTO 8550 ELSE XL=XL+0.05 :MP=M1
  652. 8558  RETURN
  653. 9000  '-------- SUBROUTINE to choose the suitable Reinf'for Max. Positive Moment
  654. 9005  PRINT
  655. 9010  PRINT "   Case 1-  Using  As = As(min.) = "AS(MIN.)" cm2"
  656. 9020  AS=AS(MIN.)
  657. 9030  NB=CINT(B/10)
  658. 9040  IF NB<2 THEN NB=2
  659. 9050  DIAT=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2)
  660. 9055  IF DIAT>24 THEN DIAT=24
  661. 9060  G=0 :PRINT
  662. 9070  FOR DIA= DIAT-4 TO DIAT+4 STEP 2
  663. 9080  IF DIA<10 THEN DIA=10
  664. 9090  IF DIA<24 GOTO 9110
  665. 9100  DIA=25
  666. 9110  NB=1+INT(AS*0.95*400/(3.14159*DIA^2))
  667. 9120  IF NB<2 THEN NB=2
  668. 9130  ASP=NB*3.14159*(DIA/10)^2/4
  669. 9140  G=G+1
  670. 9150  PRINT "   Choice"G" : USE "NB;CHR$(237);DIA"mm ,  As(provided) ="ASP" cm2"
  671. 9160  IF DIA=25 OR NB=2 GOTO 9180
  672. 9170  NEXT
  673. 9180  PRINT
  674. 9200  AS=CINT(AS1*1.33*100)/100
  675. 9205  PRINT "   Case 2-  Using  As = 1.33 x As(req.) = "AS" cm2"
  676. 9210  NB=CINT(B/10)
  677. 9220  IF NB<2 THEN NB=2
  678. 9230  DIAT=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2)
  679. 9235  IF DIAT>24 THEN DIAT=24
  680. 9240  G=0 :PRINT
  681. 9250  FOR DIA= DIAT-4 TO DIAT+4 STEP 2
  682. 9260  IF DIA<10 THEN DIA=10
  683. 9270  IF DIA<24 GOTO 9290
  684. 9280  DIA=25
  685. 9290  NB=1+INT(AS*0.95*400/(3.14159*DIA^2))
  686. 9300  IF NB<2 THEN NB=2
  687. 9310  ASP=NB*3.14159*(DIA/10)^2/4
  688. 9320  G=G+1
  689. 9330  PRINT "   Choice"G" : USE "NB;CHR$(237);DIA"mm ,  As(provided) ="ASP" cm2"
  690. 9340  IF DIA=25 OR NB=2 GOTO 9360
  691. 9350  NEXT
  692. 9360  PRINT :LOCATE ,3 :COLOR 0,7
  693. 9370  INPUT "  CHOOSE THE SUITABLE  [ CASE NUMBER (1,2) ] TO BE USED    ",CASE
  694. 9375  COLOR 15,1:PRINT "                                                                                "
  695. 9380  IF CASE<>1 AND CASE<>2 GOTO 9360
  696. 9390  LOCATE ,3 :COLOR 0,7
  697. 9400  INPUT "  CHOOSE THE SUITABLE  [ NUMBER OF BARS    ] TO BE USED    ",NB
  698. 9405  COLOR 15,1:PRINT "                                                                                "
  699. 9410  IF NB<2 THEN NB=2
  700. 9420  IF CASE=1 THEN AS=AS(MIN.)
  701. 9430  DIA=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2)
  702. 9440  IF DIA<10 THEN DIA=10
  703. 9450  IF DIA<24 GOTO 9480
  704. 9460  DIA=25
  705. 9470  NB=1+INT(AS*0.95/4.908)
  706. 9480  ASP=NB*3.14159*(DIA/10)^2/4
  707. 9500  ASP=(CINT(ASP*100))/100
  708. 9510  RETURN
  709.